package com.uzai.console.service.profit;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.profit.nuserrewardrule.NuserRewardRuleIdDto;
import com.uzai.console.dto.profit.nuserrewardrule.NuserRewardRuleInfoDto;
import com.uzai.console.dto.profit.nuserrewardrule.NuserRewardRuleQuery;
import com.uzai.console.dto.profit.nuserrewardrulegroup.NuserRewardRuleGroupIdDto;
import com.uzai.console.dto.profit.nuserrewardrulegroup.NuserRewardRuleGroupInfoDto;
import com.uzai.console.dto.profit.nuserrewardrulegroup.NuserRewardRuleGroupQuery;
import com.uzai.console.vo.profit.nuserrewardrule.NuserRewardRuleInfoVo;
import com.uzai.console.vo.profit.nuserrewardrulegroup.NuserRewardRuleGroupInfoVo;

/***
 * @author liuqi
 * @date 2021年09月01日 19:26
 */
public interface NuserRewardRuleService {
    /**
     * 分页查询杀熟规则列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param query
     * @return null
     */
    Page<NuserRewardRuleInfoVo> findNuserRewardRuleList(NuserRewardRuleQuery query);

    /**
     * 查询杀熟规则详情
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleIdDto
     * @return null
     */
    NuserRewardRuleInfoVo findNuserRewardRuleInfo(NuserRewardRuleIdDto nuserRewardRuleIdDto);


    /**
     * 添加杀熟规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleInfoDto
     * @return null
     */
    void addNuserRewardRule(NuserRewardRuleInfoDto nuserRewardRuleInfoDto);

    /**
     * 修改杀熟规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleInfoDto
     * @return null
     */
    void updateNuserRewardRule(NuserRewardRuleInfoDto nuserRewardRuleInfoDto);

    /**
     * 删除杀熟规则
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleIdDto
     * @return null
     */
    void deleteNuserRewardRule(NuserRewardRuleIdDto nuserRewardRuleIdDto);

    /**
     * 分页查询杀熟规则分组列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleGroupQuery
     * @return null
     */
    Page<NuserRewardRuleGroupInfoVo> findNuserRewardRuleGroupList(NuserRewardRuleGroupQuery nuserRewardRuleGroupQuery);

    /**
     * 添加杀熟规则分组
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleGroupInfoDto
     * @return null
     */
    void addNuserRewardRuleGroup(NuserRewardRuleGroupInfoDto nuserRewardRuleGroupInfoDto);

    /**
     * 删除杀熟规则分组
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleGroupIdDto
     * @return null
     */
    void deleteNuserRewardRuleGroup(NuserRewardRuleGroupIdDto nuserRewardRuleGroupIdDto);

    /**
     * 修改杀熟规则分组
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param nuserRewardRuleGroupInfoDto
     * @return null
     */
    void updateNuserRewardRuleGroup(NuserRewardRuleGroupInfoDto nuserRewardRuleGroupInfoDto);


}
